Highly-Concurrent Multi-word Synchronization
نویسندگان
چکیده
The design of concurrent data structures is greatly facilitated by the availability of synchronization operations that atomically modify k arbitrary items, such as kread–modify–write (krmw). Aiming to increase concurrency in order to exploit the parallelism offered by today’s multi-core andmulti-processing architectures, we propose a highly concurrent software implementation of krmw, with only constant space overhead. Our algorithm ensures that two operations delay each other only if they arewithin distance O(k) in the conflict graph, induced by the operations’ data items. The algorithm uses double compare-and-swap (dcas). When dcas is not supported by the architecture, the algorithm of Attiya and Dagan (2001) [3] can be used to replace dcas with (unary) cas, with only a slight increase in the interference among operations. © 2010 Elsevier B.V. All rights reserved.
منابع مشابه
Reactive Shared Objects for Interprocess Synchronization
In parallel processing environments such as multiprocessor systems, processes are synchronized using concurrent objects, which allow many concurrent processes to access them at the same time. The performance of these concurrent objects heavily relies on the load conditions of the surrounding environment (e.g. OS, other applications, interconnection network, etc.), which are variant and unpredic...
متن کاملEfficient Synchronization for a Large-scale Multi-core Chip Architecture
Multi-core architectures are becoming mainstream, permitting increasing on-chip parallelism through hardware support for multithreading. Synchronization, especial finegrain synchronization, is essential to the effective utilization of the computational power of high-performance large-scale multi-core architectures. However, designing and implementing fine-grain synchronization in such architect...
متن کاملTowards Scalable Synchronization on Multi-Cores
The shift of commodity hardware from singleto multi-core processors in the early 2000s compelled software developers to take advantage of the available parallelism of multi-cores. Unfortunately, only few—so-called embarrassingly parallel—applications can leverage this available parallelism in a straightforward manner. The remaining—non-embarrassingly parallel— applications require that their pr...
متن کاملBlocking and non-blocking concurrent hash tables in multi-core systems
Widespread use of multi-core systems demand highly parallel applications and algorithms in everyday computing. Parallel data structures, which are basic building blocks of concurrent algorithms, are hard to design in a way that they remain both fast and simple. By using mutual exclusion they can be implemented with little effort, but blocking synchronization has many unfavorable properties, suc...
متن کاملA Practical Wait-Free Multi-Word Compare-and-Swap Operation
Algorithms designed for current and future multi-core systems, which are expected to experience an increase of the number of cores by 100x over the next decade, must exhibit strong scaling. The guarantee of progress provided by wait-free algorithms and the fine-grained synchronization methods used in their designs, make them desirable for achieving this goal. However, the design and development...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008